/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package lu.med.praxiswahl.wahlumed.service.beans;

import javax.ejb.EJB;
import javax.ejb.Remote;
import javax.ejb.Stateless;

import lu.med.praxiswahl.wahlumed.dao.beans.daointerface.DeliveriesDAOInt;
import lu.med.praxiswahl.wahlumed.model.beans.DeliveriesTBL;
import lu.med.praxiswahl.wahlumed.service.beans.serviceinterface.DeliveriesServiceInt;

/**
 * 
 * @author pkendzo
 */

@Stateless
@Remote({ DeliveriesServiceInt.class })
public class DeliverieService implements DeliveriesServiceInt {

	@EJB
	private DeliveriesDAOInt delDao;
	private DeliveriesTBL tmpDel;

	public DeliverieService() {

		tmpDel = new DeliveriesTBL();

	}

	@Override
	public int createDeleverieLine(String bestell_datum, String artikel,
			String lieferant_name, String tva_fix, String bestellmenge,
			String lieferant_telefon, String lieferant_fax,
			String lieferant_email, String eingangsDatum, String preis,
			String bestand, String rechnungseingang, String bezahltDatum,
			String grenzWert) {
		DeliveriesTBL tmpDel_1 = new DeliveriesTBL();

		tmpDel_1.setBestell_datum(bestell_datum);
		tmpDel_1.setArtikel(artikel);
		tmpDel_1.setLieferant_name(lieferant_name);
		tmpDel_1.setTva_fix(tva_fix);
		tmpDel_1.setBestellmenge(bestellmenge);
		tmpDel_1.setTel_lieferant(lieferant_telefon);
		tmpDel_1.setFax_lieferant(lieferant_fax);
		tmpDel_1.setEmail_adresse_lieferant(lieferant_email);
		tmpDel_1.setEingang_datum(eingangsDatum);
		tmpDel_1.setPreis(preis);
		tmpDel_1.setBestand(bestand);
		tmpDel_1.setRechnungseingang(rechnungseingang);
		tmpDel_1.setBezahltam(bezahltDatum);
		tmpDel_1.setGrenzWert(grenzWert);

		this.delDao.persist(tmpDel_1);
		return RET_OPERATION_DONE_PROPERLY;
	}

	@Override
	public int deleteDeliveryEntry(Long id) {
		delDao.delete(id);
		return RET_OPERATION_DONE_PROPERLY;
	}

	@Override
	public void getA_CalendarInstance(DeliveriesTBL del) {
		this.tmpDel = del;

	}

	@Override
	public String get_Artikel() {
		return tmpDel.getArtikel();
	}

	@Override
	public String get_Bestand() {
		return tmpDel.getBestand();
	}

	@Override
	public String get_Bestell_datum() {
		return tmpDel.getBestell_datum();
	}

	@Override
	public String get_Bestellmenge() {
		return tmpDel.getBestellmenge();
	}

	@Override
	public String get_Bezahltam() {
		return tmpDel.getBezahltam();
	}

	@Override
	public String get_Eingang_datum() {
		return tmpDel.getEingang_datum();
	}

	@Override
	public String get_Email_adresse_lieferant() {
		return tmpDel.getEmail_adresse_lieferant();
	}

	@Override
	public String get_Fax_lieferant() {
		return tmpDel.getFax_lieferant();
	}

	@Override
	public String get_Lieferant_name() {
		return tmpDel.getLieferant_name();
	}

	@Override
	public String get_Preis() {
		return tmpDel.getPreis();
	}

	@Override
	public String get_Rechnungseingang() {
		return tmpDel.getRechnungseingang();
	}

	@Override
	public String get_Tel_lieferant() {
		return tmpDel.getTel_lieferant();
	}

	@Override
	public void set_Artikel(String artikel) {
		this.tmpDel.setArtikel(artikel);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Bestand(String bestand) {
		this.tmpDel.setBestand(bestand);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Bestell_datum(String bestell_datum) {
		this.tmpDel.setBestell_datum(bestell_datum);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Bestellmenge(String bestellmenge) {
		this.tmpDel.setBestellmenge(bestellmenge);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Bezahltam(String bezahltam) {
		this.tmpDel.setBezahltam(bezahltam);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Eingang_datum(String eingang_datum) {
		this.tmpDel.setEingang_datum(eingang_datum);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Email_adresse_lieferant(String email_adresse_lieferant) {
		this.tmpDel.setEmail_adresse_lieferant(email_adresse_lieferant);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Fax_lieferant(String fax_lieferant) {
		this.tmpDel.setFax_lieferant(fax_lieferant);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Lieferant_name(String lieferant_name) {
		this.tmpDel.setLieferant_name(lieferant_name);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Preis(String preis) {
		this.tmpDel.setPreis(preis);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Rechnungseingang(String rechnungseingang) {
		this.tmpDel.setRechnungseingang(rechnungseingang);
		this.delDao.update(tmpDel);

	}

	@Override
	public void set_Tel_lieferant(String tel_lieferant) {
		this.tmpDel.setTel_lieferant(tel_lieferant);
		this.delDao.update(tmpDel);

	}

	@Override
	public String get_Tva_Fix() {
		return this.tmpDel.getTVA_fix();
	}

	@Override
	public void set_Tva_Fix(String tva_fix) {
		this.tmpDel.setTva_fix(tva_fix);
		this.delDao.update(tmpDel);

	}

	@Override
	public DeliveriesTBL[] getAvailableEntries() {
		Object[] tmp = delDao.findAvailableDeliveries().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public String get_Bemerkung() {
		return this.tmpDel.getBemerkung();
	}

	@Override
	public void set_Bemerkung(String bemerkung) {
		this.tmpDel.setBemerkung(bemerkung);
		this.delDao.update(tmpDel);

	}

	@Override
	public DeliveriesTBL[] sortByItem() {
		Object[] tmp = delDao.sortByItem().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public DeliveriesTBL[] sortByLieferant() {
		Object[] tmp = delDao.sortByLieferant().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public DeliveriesTBL[] sortByBestand() {
		Object[] tmp = delDao.sortByBestand().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public DeliveriesTBL[] sortByPrice() {
		Object[] tmp = delDao.sortByPrice().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public DeliveriesTBL[] sortByPurchaseDate() {
		Object[] tmp = delDao.sortByPurchaseDate().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public String get_Nummer() {
		return this.tmpDel.getNumber();
	}

	@Override
	public void set_Nummer(String nummer) {
		this.tmpDel.setNumber(nummer);
		this.delDao.update(tmpDel);

	}

	@Override
	public DeliveriesTBL[] sortByLiefertDatum() {
		Object[] tmp = delDao.sortByLiefertDatum().toArray();
		DeliveriesTBL[] eintraege = new DeliveriesTBL[tmp.length];

		for (int i = 0; i < tmp.length; i++) {
			eintraege[i] = (DeliveriesTBL) tmp[i];
		}
		return eintraege;
	}

	@Override
	public String get_Kategorie() {

		return this.tmpDel.getKategorie();
	}

	@Override
	public void set_Kategorie(String kategorie) {

		this.tmpDel.setKategorie(kategorie);
		this.delDao.update(tmpDel);

	}

}
